/**
 * 回调函数
 */
//简单函数调用
function fooA(){
    return 1;
}
function fooB(a){
    return 2+a
}

console.log(fooB(fooA()))

//异步调用回调函数
var a = 2;
function fooX(x){
    console.log(x)
}
function fooC(time){
    //settimeout不会阻塞主线程
    //settimeout会将回调函数放入事件队列中
    //settimeout会在指定时间后执行回调函数
    setTimeout(function(){
        a = 6
    },time)
}
// console.log(a)
// fooC(1000)
// console.log(a)
// fooX(a)

//想要看到结果改造
function fooD(time,callback){
    setTimeout(function(){
        a = 6
        callback(a)
    },time)
}
fooD(1000,fooX)